/** * 头部菜单 */
<template>
  <el-menu class="el-menu-demo" mode="horizontal" background-color="#334157" text-color="#fff" active-text-color="#fff">
    <el-button class="buttonimg">
      <img class="showimg" :src="collapsed ? imgsq : imgshow" @click="toggle(collapsed)" />
    </el-button>
    <el-submenu index="2" class="submenu">
      <template slot="title">
        {{user.nickName}}
        <el-avatar :src="'http://localhost:8675/file/'+user.avatar"></el-avatar>
      </template>
      <el-menu-item @click="userinfo()" index="2-1">个人中心</el-menu-item>
      <el-menu-item @click="exit()" index="2-2">退出</el-menu-item>
    </el-submenu>
  </el-menu>
</template>
<script>
import { adminLogoutAPi, getUserInfoApi } from "@/api/admin";
import Cookie from "js-cookie";
export default {
  name: "navcon",
  data() {
    return {
      collapsed: true,
      imgshow: require("@/assets/img/show.png"),
      imgsq: require("@/assets/img/sq.png"),
      user: {},
    };
  },
  created() {
    this.getUser();
  },
  methods: {
    getUser() {
      this.user = this.$store.state.localUser;
      // if (this.user == null) {
      getUserInfoApi().then((res) => {
        const result = res.data;
        if (result.status == 200) {
          this.user = result.data;
        }
      });
      // }
    },
    // 退出登录
    exit() {
      this.$confirm("退出登录, 是否继续?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          adminLogoutAPi().then((res) => {
            const result = res.data;
            if (result.status == 200) {
              Cookie.remove("token");
              this.$message.success("退出成功");
              this.$router.push("/login");
            }
          });
        })
        .catch(() => {
          this.$message({
            type: "info",
            message: "已取消",
          });
        });
    },
    // 切换显示
    toggle(showtype) {
      this.collapsed = !showtype;
      this.$root.Bus.$emit("toggle", this.collapsed);
    },
    userinfo() {
      this.$router.push("/admin/home/userinfo");
    },
  },
};
</script>
<style scoped >
.el-menu-vertical-demo:not(.el-menu--collapse) {
  border: none;
}
.submenu {
  float: right;
}
.buttonimg {
  height: 60px;
  background-color: transparent;
  border: none;
}
.showimg {
  width: 26px;
  height: 26px;
  position: absolute;
  top: 17px;
  left: 17px;
}
.showimg:active {
  border: none;
}
</style>
